Szyfr Cezara
#include
#include
using namespace std; // Funkcja do szyfrowania tekstu metodą Cezara string szyfrujCezara(string tekst, int klucz) { string zaszyfrowany = ""; for (char znak : tekst) { if (isalpha(znak)) { // Sprawdzamy, czy znak jest literą char granica = isupper(znak) ? 'A' : 'a'; znak = (znak - granica + klucz) % 26 + granica; } zaszyfrowany += znak; } return zaszyfrowany; } // Funkcja do deszyfrowania tekstu metodą Cezara string deszyfrujCezara(string tekst, int klucz) { return szyfrujCezara(tekst, 26 - klucz); // Deszyfrowanie to przesunięcie w drugą stronę } int main() { int wybor, klucz; string tekst; cout << "Metoda Cezara - Szyfrowanie i deszyfrowanie\n"; cout << "1. Szyfruj tekst\n"; cout << "2. Deszyfruj tekst\n"; cout << "Wybierz opcje: "; cin >> wybor; cin.ignore(); // Usuwamy znak nowej linii po cin cout << "Podaj tekst: "; getline(cin, tekst); cout << "Podaj klucz (liczbe przesuniec): "; cin >> klucz; if (wybor == 1) cout << "Zaszyfrowany tekst: " << szyfrujCezara(tekst, klucz) << endl; else if (wybor == 2) cout << "Odszyfrowany tekst: " << deszyfrujCezara(tekst, klucz) << endl; else cout << "Niepoprawny wybor!" << endl; return 0; }